cabal-install: Fix non-reinstallable package set#9092
Conversation
In haskell#9064 we discovered that `ghc-boot` was added to the non-reinstallable package set due to haskell#8051 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package. In haskell#9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition. Closes haskell#9064.
|
Looks like CI tests specifically test for the libraries being non-upgradeable? |
| , mkPackageName "integer-gmp" | ||
| , mkPackageName "integer-simple" |
There was a problem hiding this comment.
Both integer-* packages are reinstallable now afaik.
There was a problem hiding this comment.
@hsyl20 Is there an authoritative source about this? I can ship this change in the PR if you have a source :)
There was a problem hiding this comment.
No authoritative source, sorry.
There was a problem hiding this comment.
Even if this were true, that's only for latest ghcs, and this package set needs to span all supported ghcs, so we can't do it regardless. If we do start doing it going forward we'll need a per-ghc-version refactor of how we manage the set.
|
@bgamari do you need help with this? |
sebright
left a comment
There was a problem hiding this comment.
Thank you for documenting this!
|
Is this blocked or can we merge? |
|
@gbaz I think it has been unblocked since I applied the label, so I'm removing the label now. If no one feels too strong about Perhaps we need a ticket for making the list of non-upgradable packages dependent on the compiler version? |
| , Right $ exAv "ghci" 2 [] | ||
| , Right $ exAv "ghc-boot" 2 [] |
There was a problem hiding this comment.
The source versions of ghci and ghc-boot and packages B and C should also be removed.
|
@Mergifyio backport 3.10 |
✅ Backports have been createdDetails
|
|
@GrayJay damnit, sorry I missed your message :/ |
) cabal-install: Fix non-reinstallable package set In #9064 we discovered that `ghc-boot` was added to the non-reinstallable package set due to #8051 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package. In #9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition. Closes #9064. (cherry picked from commit 2e32a44) # Conflicts: # cabal-install/src/Distribution/Client/Dependency.hs * Fix tests (cherry picked from commit 249374d) # Conflicts: # cabal-install/tests/UnitTests/Distribution/Solver/Modular/Solver.hs * Fix conflicts
cabal-install: Fix non-reinstallable package set (backport #9092)
In #9064 we discovered that
ghc-bootwas added to the non-reinstallable package set due to #8501 despite there being no reason why it can't be built from its source distribution. This revealed the fact that there is quite some ambiguity around what constitutes a non-reinstallable package.In #9064 we worked out a hopefully-more-clear picture of non-reinstallability. Here we update the commentary to describe this concept and update the lists to reflect the new definition.
Closes #9064.